using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Collections;
using System.Collections.Generic;
using System.Web.UI;
using System.Xml;
using System.Text;
using System.IO; 

namespace IGlobalist.Cms.Bll
{

   public class RelationPageandCategory<T>
    {
    //    private string _path = HttpContext.Current.Request.PhysicalApplicationPath + "/Admin/XML/RelationPageAndCategory.xml";
    //    private XmlDocument xDoc;
    //    private IList<ItemRelation> itemRelations;

    //    public int Count
    //    {
    //        get
    //        {
    //            return itemRelations.Count;
    //        }
    //    }
      

    //   public RelationPageandCategory(string xmlPath)
    //    {
    //        try
    //        {
    //            //xmlPath = _path;
    //            xDoc = new XmlDocument();
    //            xDoc.Load(xmlPath);

    //        }
    //        catch { }
    //        this.List();
    //    }

    //   public IList<ItemRelation> List()
    //    {
    //        if (itemRelations == null)
    //        {
    //            itemRelations = new List<ItemRelation>();
    //            try
    //            {
    //                foreach (XmlNode xNode in xDoc.DocumentElement.ChildNodes)
    //                {
    //                    ItemRelation ir = GetItemRelation(xNode);
    //                    itemRelations.Add(ir);
    //                }
    //            }
    //            catch { }
    //        }
    //        return itemRelations;
    //    }
    //   private ItemRelation GetItemRelation(XmlNode xNode)
    //    {
    //        ItemRelation ir;

    //        ir = new ItemRelation(Convert.ToInt64(xNode.Attributes["id"].Value),
    //                           Convert.ToString(xNode.Attributes["name"].Value),
    //                           Convert.ToString(xNode.Attributes["title"].Value),
    //                           Convert.ToString(xNode.Attributes["type"].Value),
    //                           Convert.ToString(xNode.Attributes["categories"].Value));

           
    //        return ir;
    //    }

    //    public String ToXmlString()
    //    {
    //        xDoc = new XmlDocument();
    //        xDoc.PreserveWhitespace = true;
    //        XmlNode root = xDoc.CreateElement("Pages");
    //        foreach (ItemRelation ir in itemRelations)
    //        {
    //            XmlElement oNode = xDoc.CreateElement("Page");
    //            oNode.SetAttribute("id", ir.Id.ToString());
    //            oNode.SetAttribute("name", ir.Name.ToString());
    //            oNode.SetAttribute("title", ir.Title.ToString());
    //            oNode.SetAttribute("type", ir.Type.ToString());
    //            oNode.SetAttribute("categories",ir.Categories.ToString());
    //            root.AppendChild(oNode);
    //        }
    //        xDoc.AppendChild(root);
    //        TextWriter tw = new StringWriter();
    //        xDoc.Save(tw);
    //        return tw.ToString();
    //    }

    //    public void Add(ItemRelation itemRelation,string path)
    //    {
    //        //path = _path;
    //        xDoc = new XmlDocument();
    //        itemRelations.Add(itemRelation);
    //        ToXmlString();
    //        xDoc.Save(path);
    //    }

    //   public  ItemRelation Get(int index)
    //    {
    //        return itemRelations[index];
    //    }
    //   public ItemRelation GetItemRelationById(long id)
    //   {
    //       foreach (ItemRelation ir in itemRelations)
    //       {
    //           if (ir.Id == id)
    //           {
    //               return ir;                   
    //           }
    //       }
    //       return null;
    //   }
    //   public void Remove(ItemRelation itemRelation, string path)
    //    {
    //        //path = _path;
    //        itemRelations.Remove(itemRelation);
    //        ToXmlString();
    //        xDoc.Save(path);
    //    }
    //   public void RemoveAt(int index, string path)
    //    {
    //        itemRelations.RemoveAt(index);
            
    //        ToXmlString();
    //        xDoc.Save(path);
    //    }

    //   public void Insert(int index, ItemRelation itemRelation)
    //    {
    //        itemRelations.Insert(index, itemRelation);
    //    }


    //   public void Update(int index, ItemRelation itemRelation, string path)
    //    {
    //        //path = _path;
    //        itemRelations[index].Id = itemRelation.Id;
    //        itemRelations[index].Name = itemRelation.Name;
    //        itemRelations[index].Title = itemRelation.Title;
    //        itemRelations[index].Type = itemRelation.Type;
    //        itemRelations[index].Categories = itemRelation.Categories;
    //        ToXmlString();
    //        xDoc.Save(path);
    //    }

    //   public int IndexOf(ItemRelation itemRelation)
    //    {
    //        int index = -1;
    //        int i = 0;
    //        foreach (ItemRelation ir in itemRelations)
    //        {
    //            if (ir.Id == itemRelation.Id)
    //            {
    //                index = i;
    //            }
    //            i++;
    //        }
    //        return index;
    //    }

    //}

    //public class ItemRelation
    //{
    //    public ItemRelation()
    //    {
    //    }

    //    public ItemRelation(long id, string name, string title, string type, string categories)
    //    {
    //        _Id = id;
    //        _Name = name;
    //        _Title = title;
    //        _Type = type;
    //        _Categories = categories;
    //    }

       

    //    protected long _Id = 0;
    //    public long Id
    //    {
    //        get
    //        { return _Id; }
    //        set { _Id = value; }
    //    }

    //    protected string _Name;
    //    public string Name
    //    {
    //        get
    //        {
    //            return _Name;
    //        }
    //        set
    //        {
    //            _Name = value;
    //        }
    //    }

    //    protected string _Title;
    //    public string Title
    //    {
    //        get
    //        {
    //            return _Title;
    //        }
    //        set { _Title = value; }
    //    }

    //    protected string _Type;
    //    public string Type
    //    {
    //        get
    //        {
    //            return _Type;
    //        }
    //        set { _Type = value; }
    //    }


    //    protected string _Categories;
    //    public string Categories
    //    {
    //        get
    //        {
    //            return _Categories;
    //        }
    //        set { _Categories = value; }
    //    }
    }
}
